New Foswiki release 2.1.6 is available with important security fixes.
Sourceforge foswiki email lists being discontinued. Subscribe to the new Foswiki announce and discuss lists at MailingLists
TIP SkillsPlugin is not installed on


This plugin allows users to specify what skills they have and their level of proficiency. The user can then display their skills on their home page, and view other users skills by browsing through specific categories/skills.


Below is a screenshot of the users skill being displayed on their homepage. Click for the full image.

skills screenshot thumb.png

To get the skills displayed on the users home page, as in this example, see SkillsDisplayOnHomePage.

User Interface


The user interface for general users can be found at the following places:

Managing Categories and Skills

To create, modify or delete categories/skills, follow the instructions at SkillsAdminIntroduction.

Syntax Rules

The Plugin handles a %SKILLS{}% variable that performs different actions. The action="" is a required parameter.

  • %SKILLS{ action="userskills" }% - Displays the skills for the specific user.        
    Parameter Comment Default
    user="WikiGuest" The user who's skills to display (you do not need to specify the Main web). Current user
    twisty="open" Can be: =open - starts expanded; closed - starts collapsed; off - disabled. "closed"

  • %SKILLS{ action="edit" }% - Displays a form allowing the current logged in user to edit their skills.

  • %SKILLS{ action="editall" }% - Displays a form allowing the current logged in user to edit their skills in a big table.

  • %SKILLS{ action="browse" }% - Lists the specific skills/categories, and the users who have them.
    Parameter Comment Default
    category="Cat1, Cat2" If category is defined, will list all the users who have skills in that category. All categories
    skill="Skill1, Skill2" If category and skill are defined, lists all the users who have that skill. All skills
    twisty="open" Can be: open - starts expanded; top - open at the top level, closed at the second level; closed - starts collapsed; off - disabled. "closed"

  • %SKILLS{ action="search" }% - Provides a form allowing you to search users skills.

  • %SKILLS{ action="showcategories" }% - shows all existing categories.
    Parameter Comment Default
    format Format of a category. Tokens: $category, $n. "$category"
    separator Separator between tags, $n can be used for newlines. ", "

  • %SKILLS{ action="showskills" }% - shows all existing skills.
    Parameter Comment Default
    category Specific category all
    format Format of a skill. Tokens: $skill, $category, $n. "$skill"
    separator Separator between skills, $n can be used for newlines. ", "
    categoryseparator Separator between categories, $n can be used for newlines. "$n"
    prefix Prefix before each category. Tokens $category, $n. none
    suffix Suffix after each category. Tokens $category, $n. none

  • %SKILLRATINGS{ ... }% - shows a list of the skill levels, as set by %SKILLSPLUGIN_RATINGS% (see below). Parameters are:
    • format="..." - set the format of each skill name, where "..." is a string that may contain the following placeholders:
      • $name - the skill name. You can replace whitespace in the string by providing a replacement in brackets e.g $name( ) will expand to the level name with all whitespace replaced by &nbsp.
      • $value - the numeric value of the skill level
      • $marker - the selection marker
      • Standard placeholders as described in FormatTokens
    • separator="$n" - output list separator
    • selection="..." - Entry to be selected in list (integer). If one of the skills matches this selection, then $marker in the format will be expanded.
    • marker="selected" - Text for =$marker if the item matches selection
  • Example: (if plugin is enabled) %SKILLRATINGS{"$name(+)=$value$marker" separator="; " selection="3" marker=" (selected)"}% expands to %SKILLRATINGS{"$name(+)=$value$marker" separator="; " selection="3" marker=" (selected)"}%

Plugin Settings

Plugin settings are stored as preferences variables in SitePreferences (or in WebPreferences, or in individual topics).
  • RECOMMENDED: By default, skills are taken from / added to an external file. You can use a standard Foswiki topic instead, by defining the SKILLSPLUGIN_SKILLSTOPIC preference to be a fully qualified topic name e.g.
    • Set SKILLSPLUGIN_SKILLSTOPIC = MyWeb.MySkillSet Normal Foswiki protections on this topic are respected. You must use a skills topic if you want skill descriptions to appear as tooltips.
  • You can override the default skill levels by setting the preference SKILLSPLUGIN_RATINGS to a comma-separated list of level names e.g.
    • Set SKILLSPLUGIN_RATINGS = None,Child,Adolescent,Adult,Crusty The default is None,Ancient Knowledge,Working Knowledge,Expert,Guru

ALERT! IMPORTANT! If you used the ALLOWADDSKILLS preference with a prior version, please note that this preference was inherently insecure and has been removed. Define SKILLSPLUGIN_SKILLSTOPIC instead, and use standard Foswiki permissions to control access to it.


Each category is defined as a first-level heading, using ---+, subcategories using ---++, and skills in that category as lowest level headings. You can have as many levels of headings as you need. Category and skill descriptions should follow immediately after the relevant heading. For example:
All text up to the first heading will be ignored
---+ Air Transport
Travelling in the air
---++ Flying a Helicopter
Anything with a big propellor on the top
---++ Hot Air Ballooning
Politician-powered travel
---+ Land Transport
Giving in to gravity
---++ Walking
Good for you
---++ Driving
Bad for everyone else

Installation Instructions

You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install".

If you have any problems, or if the extension isn't available in configure, then you can still install manually from the command-line. See for more help.


  • Create a skills topic, and add some categories and skills

Plugin Info

Plugin Author: Foswiki:Main.AndrewJones
Copyright: © 2007 - 2009, Foswiki:Main.AndrewJones
License: GPL (GNU General Public License)
Plugin Release: 30 Sep 2009
Plugin Version: 5190 (2009-09-30)
Change History:  
30 Sep 2009 Foswiki:Tasks:Item8295: IE fixes
14 Sep 2009 Various minor bugfixes and enhancements
28 Jul 2009 Foswiki:Tasks.Item8223: bare metal rewrite to support deep taxonomies. -- Foswiki:Main.CrawfordCurrie
17 Jul 2009 Foswiki:Tasks.Item8217: add support for flat display of skills for bulk editing, added override for the hard-coded skill levels using a preference. REMOVED ALLOWADDSKILLS. Foswiki:Tasks.Item8219: add descriptions of the skills and categories to easy navigation - Foswiki:Main.CrawfordCurrie
20 Mar 2009 Foswiki:Tasks.Item1260 - Ported to Foswiki as version 1.0; Small code improvements; Update docs & screenshots
05 Feb 2009 Complete rewrite; more scaleable; better performace; can use special characters in skill names; can use templates to change output; tested on Foswiki
14032 Initial release
JSON0Javascript object notation module
Plugin Home:

Topic attachments
I Attachment Action Size Date Who Comment
SkillsPlugin.md5md5 SkillsPlugin.md5 manage 159 bytes 30 Sep 2009 - 16:20 CrawfordCurrie  
SkillsPlugin.sha1sha1 SkillsPlugin.sha1 manage 183 bytes 30 Sep 2009 - 16:20 CrawfordCurrie  
SkillsPlugin.tgztgz SkillsPlugin.tgz manage 157 K 30 Sep 2009 - 16:20 CrawfordCurrie  
SkillsPlugin.zipzip manage 171 K 30 Sep 2009 - 16:20 CrawfordCurrie  
SkillsPlugin_installerEXT SkillsPlugin_installer manage 5 K 30 Sep 2009 - 16:20 CrawfordCurrie  
TWiki_SkillsPlugin.zipzip manage 168 K 30 Sep 2009 - 17:40 CrawfordCurrie Auto-ported (untested)
Topic revision: r7 - 30 Sep 2009, CrawfordCurrie - This page was cached on 20 Mar 2018 - 19:03.

The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License