{"owner":"CorentinTh","repo":"it-tools","hasSkills":true,"totalSkillsCount":2,"totalTokensCount":1250,"categories":["anthropic-skill"],"hasMcp":false,"mcpConfig":null,"found":["src/tools/git-memo/git-memo.content.md","src/tools/regex-memo/regex-memo.content.md"],"skills":{"src/tools/git-memo/git-memo.content.md":"## Configuration\n\nSet the global config\n\n```shell\ngit config --global user.name \"[name]\"\ngit config --global user.email \"[email]\"\n```\n\n## Get started\n\nCreate a git repository\n\n```shell\ngit init\n```\n\nClone an existing git repository\n\n```shell\ngit clone [url]\n```\n\n## Commit\n\nCommit all tracked changes\n\n```shell\ngit commit -am \"[commit message]\"\n```\n\nAdd new modifications to the last commit\n\n```shell\ngit commit --amend --no-edit\n```\n\n## I’ve made a mistake\n\nChange last commit message\n\n```shell\ngit commit --amend\n```\n\nUndo most recent commit and keep changes\n\n```shell\ngit reset HEAD~1\n```\n\nUndo the `N` most recent commit and keep changes\n\n```shell\ngit reset HEAD~N\n```\n\nUndo most recent commit and get rid of changes\n\n```shell\ngit reset HEAD~1 --hard\n```\n\nReset branch to remote state\n\n```shell\ngit fetch origin\ngit reset --hard origin/[branch-name]\n```\n\n## Miscellaneous\n\nRenaming the local master branch to main\n\n```shell\ngit branch -m master main\n```\n","src/tools/regex-memo/regex-memo.content.md":"### Normal characters\n\nExpression | Description\n:--|:--\n`.` or `[^\\n\\r]` | any character *excluding* a newline or carriage return\n`[A-Za-z]` | alphabet\n`[a-z]` | lowercase alphabet\n`[A-Z]` | uppercase alphabet\n`\\d` or `[0-9]` | digit\n`\\D` or `[^0-9]` | non-digit\n`_` | underscore\n`\\w` or `[A-Za-z0-9_]` | alphabet, digit or underscore\n`\\W` or `[^A-Za-z0-9_]` | inverse of `\\w`\n`\\S` | inverse of `\\s`\n\n### Whitespace characters\n\nExpression | Description\n:--|:--\n` ` | space\n`\\t` | tab\n`\\n` | newline\n`\\r` | carriage return\n`\\s` | space, tab, newline or carriage return\n\n### Character set\n\nExpression | Description\n:--|:--\n`[xyz]` | either `x`, `y` or `z`\n`[^xyz]` | neither `x`, `y` nor `z`\n`[1-3]` | either `1`, `2` or `3`\n`[^1-3]` | neither `1`, `2` nor `3`\n\n- Think of a character set as an `OR` operation on the single characters that are enclosed between the square brackets.\n- Use `^` after the opening `[` to “negate” the character set.\n- Within a character set, `.` means a literal period.\n\n### Characters that require escaping\n\n#### Outside a character set\n\nExpression | Description\n:--|:--\n`\\.` | period\n`\\^` | caret\n`\\$` | dollar sign\n`\\|` | pipe\n`\\\\` | back slash\n`\\/` | forward slash\n`\\(` | opening bracket\n`\\)` | closing bracket\n`\\[` | opening square bracket\n`\\]` | closing square bracket\n`\\{` | opening curly bracket\n`\\}` | closing curly bracket\n\n#### Inside a character set\n\nExpression | Description\n:--|:--\n`\\\\` | back slash\n`\\]` | closing square bracket\n\n- A `^` must be escaped only if it occurs immediately after the opening `[` of the character set.\n- A `-` must be escaped only if it occurs between two alphabets or two digits.\n\n### Quantifiers\n\nExpression | Description\n:--|:--\n`{2}` | exactly 2\n`{2,}` | at least 2\n`{2,7}` | at least 2 but no more than 7\n`*` | 0 or more\n`+` | 1 or more\n`?` | exactly 0 or 1\n\n- The quantifier goes *after* the expression to be quantified.\n\n### Boundaries\n\nExpression | Description\n:--|:--\n`^` | start of string\n`$` | end of string\n`\\b` | word boundary\n\n- How word boundary matching works:\n    - At the beginning of the string if the first character is `\\w`.\n    - Between two adjacent characters within the string, if the first character is `\\w` and the second character is `\\W`.\n    - At the end of the string if the last character is `\\w`.\n\n### Matching\n\nExpression | Description\n:--|:--\n`foo\\|bar` | match either `foo` or `bar`\n`foo(?=bar)` | match `foo` if it’s before `bar`\n`foo(?!bar)` | match `foo` if it’s *not* before `bar`\n`(?<=bar)foo` | match `foo` if it’s after `bar`\n`(?<!bar)foo` | match `foo` if it’s *not* after `bar`\n\n### Grouping and capturing\n\nExpression | Description\n:--|:--\n`(foo)` | capturing group; match and capture `foo`\n`(?:foo)` | non-capturing group; match `foo` but *without* capturing `foo`\n`(foo)bar\\1` | `\\1` is a backreference to the 1st capturing group; match `foobarfoo`\n\n- Capturing groups are only relevant in the following methods:\n    - `string.match(regexp)`\n    - `string.matchAll(regexp)`\n    - `string.replace(regexp, callback)`\n- `\\N` is a backreference to the `Nth` capturing group. Capturing groups are numbered starting from 1.\n\n## References and tools\n\n- [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)\n- [RegExplained](https://leaverou.github.io/regexplained/)\n"},"files":{"src/tools/git-memo/git-memo.content.md":"## Configuration\n\nSet the global config\n\n```shell\ngit config --global user.name \"[name]\"\ngit config --global user.email \"[email]\"\n```\n\n## Get started\n\nCreate a git repository\n\n```shell\ngit init\n```\n\nClone an existing git repository\n\n```shell\ngit clone [url]\n```\n\n## Commit\n\nCommit all tracked changes\n\n```shell\ngit commit -am \"[commit message]\"\n```\n\nAdd new modifications to the last commit\n\n```shell\ngit commit --amend --no-edit\n```\n\n## I’ve made a mistake\n\nChange last commit message\n\n```shell\ngit commit --amend\n```\n\nUndo most recent commit and keep changes\n\n```shell\ngit reset HEAD~1\n```\n\nUndo the `N` most recent commit and keep changes\n\n```shell\ngit reset HEAD~N\n```\n\nUndo most recent commit and get rid of changes\n\n```shell\ngit reset HEAD~1 --hard\n```\n\nReset branch to remote state\n\n```shell\ngit fetch origin\ngit reset --hard origin/[branch-name]\n```\n\n## Miscellaneous\n\nRenaming the local master branch to main\n\n```shell\ngit branch -m master main\n```\n","src/tools/regex-memo/regex-memo.content.md":"### Normal characters\n\nExpression | Description\n:--|:--\n`.` or `[^\\n\\r]` | any character *excluding* a newline or carriage return\n`[A-Za-z]` | alphabet\n`[a-z]` | lowercase alphabet\n`[A-Z]` | uppercase alphabet\n`\\d` or `[0-9]` | digit\n`\\D` or `[^0-9]` | non-digit\n`_` | underscore\n`\\w` or `[A-Za-z0-9_]` | alphabet, digit or underscore\n`\\W` or `[^A-Za-z0-9_]` | inverse of `\\w`\n`\\S` | inverse of `\\s`\n\n### Whitespace characters\n\nExpression | Description\n:--|:--\n` ` | space\n`\\t` | tab\n`\\n` | newline\n`\\r` | carriage return\n`\\s` | space, tab, newline or carriage return\n\n### Character set\n\nExpression | Description\n:--|:--\n`[xyz]` | either `x`, `y` or `z`\n`[^xyz]` | neither `x`, `y` nor `z`\n`[1-3]` | either `1`, `2` or `3`\n`[^1-3]` | neither `1`, `2` nor `3`\n\n- Think of a character set as an `OR` operation on the single characters that are enclosed between the square brackets.\n- Use `^` after the opening `[` to “negate” the character set.\n- Within a character set, `.` means a literal period.\n\n### Characters that require escaping\n\n#### Outside a character set\n\nExpression | Description\n:--|:--\n`\\.` | period\n`\\^` | caret\n`\\$` | dollar sign\n`\\|` | pipe\n`\\\\` | back slash\n`\\/` | forward slash\n`\\(` | opening bracket\n`\\)` | closing bracket\n`\\[` | opening square bracket\n`\\]` | closing square bracket\n`\\{` | opening curly bracket\n`\\}` | closing curly bracket\n\n#### Inside a character set\n\nExpression | Description\n:--|:--\n`\\\\` | back slash\n`\\]` | closing square bracket\n\n- A `^` must be escaped only if it occurs immediately after the opening `[` of the character set.\n- A `-` must be escaped only if it occurs between two alphabets or two digits.\n\n### Quantifiers\n\nExpression | Description\n:--|:--\n`{2}` | exactly 2\n`{2,}` | at least 2\n`{2,7}` | at least 2 but no more than 7\n`*` | 0 or more\n`+` | 1 or more\n`?` | exactly 0 or 1\n\n- The quantifier goes *after* the expression to be quantified.\n\n### Boundaries\n\nExpression | Description\n:--|:--\n`^` | start of string\n`$` | end of string\n`\\b` | word boundary\n\n- How word boundary matching works:\n    - At the beginning of the string if the first character is `\\w`.\n    - Between two adjacent characters within the string, if the first character is `\\w` and the second character is `\\W`.\n    - At the end of the string if the last character is `\\w`.\n\n### Matching\n\nExpression | Description\n:--|:--\n`foo\\|bar` | match either `foo` or `bar`\n`foo(?=bar)` | match `foo` if it’s before `bar`\n`foo(?!bar)` | match `foo` if it’s *not* before `bar`\n`(?<=bar)foo` | match `foo` if it’s after `bar`\n`(?<!bar)foo` | match `foo` if it’s *not* after `bar`\n\n### Grouping and capturing\n\nExpression | Description\n:--|:--\n`(foo)` | capturing group; match and capture `foo`\n`(?:foo)` | non-capturing group; match `foo` but *without* capturing `foo`\n`(foo)bar\\1` | `\\1` is a backreference to the 1st capturing group; match `foobarfoo`\n\n- Capturing groups are only relevant in the following methods:\n    - `string.match(regexp)`\n    - `string.matchAll(regexp)`\n    - `string.replace(regexp, callback)`\n- `\\N` is a backreference to the `Nth` capturing group. Capturing groups are numbered starting from 1.\n\n## References and tools\n\n- [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)\n- [RegExplained](https://leaverou.github.io/regexplained/)\n"},"items":[{"name":"git-memo.content.md","path":"src/tools/git-memo/git-memo.content.md","rawUrl":"https://raw.githubusercontent.com/CorentinTh/it-tools/HEAD/src/tools/git-memo/git-memo.content.md","title":"Git-memo Skill","category":"anthropic-skill","format":"markdown","content":"## Configuration\n\nSet the global config\n\n```shell\ngit config --global user.name \"[name]\"\ngit config --global user.email \"[email]\"\n```\n\n## Get started\n\nCreate a git repository\n\n```shell\ngit init\n```\n\nClone an existing git repository\n\n```shell\ngit clone [url]\n```\n\n## Commit\n\nCommit all tracked changes\n\n```shell\ngit commit -am \"[commit message]\"\n```\n\nAdd new modifications to the last commit\n\n```shell\ngit commit --amend --no-edit\n```\n\n## I’ve made a mistake\n\nChange last commit message\n\n```shell\ngit commit --amend\n```\n\nUndo most recent commit and keep changes\n\n```shell\ngit reset HEAD~1\n```\n\nUndo the `N` most recent commit and keep changes\n\n```shell\ngit reset HEAD~N\n```\n\nUndo most recent commit and get rid of changes\n\n```shell\ngit reset HEAD~1 --hard\n```\n\nReset branch to remote state\n\n```shell\ngit fetch origin\ngit reset --hard origin/[branch-name]\n```\n\n## Miscellaneous\n\nRenaming the local master branch to main\n\n```shell\ngit branch -m master main\n```\n","isInternal":false,"tokens":243,"sizeBytes":960},{"name":"regex-memo.content.md","path":"src/tools/regex-memo/regex-memo.content.md","rawUrl":"https://raw.githubusercontent.com/CorentinTh/it-tools/HEAD/src/tools/regex-memo/regex-memo.content.md","title":"Regex-memo Skill","category":"anthropic-skill","format":"markdown","content":"### Normal characters\n\nExpression | Description\n:--|:--\n`.` or `[^\\n\\r]` | any character *excluding* a newline or carriage return\n`[A-Za-z]` | alphabet\n`[a-z]` | lowercase alphabet\n`[A-Z]` | uppercase alphabet\n`\\d` or `[0-9]` | digit\n`\\D` or `[^0-9]` | non-digit\n`_` | underscore\n`\\w` or `[A-Za-z0-9_]` | alphabet, digit or underscore\n`\\W` or `[^A-Za-z0-9_]` | inverse of `\\w`\n`\\S` | inverse of `\\s`\n\n### Whitespace characters\n\nExpression | Description\n:--|:--\n` ` | space\n`\\t` | tab\n`\\n` | newline\n`\\r` | carriage return\n`\\s` | space, tab, newline or carriage return\n\n### Character set\n\nExpression | Description\n:--|:--\n`[xyz]` | either `x`, `y` or `z`\n`[^xyz]` | neither `x`, `y` nor `z`\n`[1-3]` | either `1`, `2` or `3`\n`[^1-3]` | neither `1`, `2` nor `3`\n\n- Think of a character set as an `OR` operation on the single characters that are enclosed between the square brackets.\n- Use `^` after the opening `[` to “negate” the character set.\n- Within a character set, `.` means a literal period.\n\n### Characters that require escaping\n\n#### Outside a character set\n\nExpression | Description\n:--|:--\n`\\.` | period\n`\\^` | caret\n`\\$` | dollar sign\n`\\|` | pipe\n`\\\\` | back slash\n`\\/` | forward slash\n`\\(` | opening bracket\n`\\)` | closing bracket\n`\\[` | opening square bracket\n`\\]` | closing square bracket\n`\\{` | opening curly bracket\n`\\}` | closing curly bracket\n\n#### Inside a character set\n\nExpression | Description\n:--|:--\n`\\\\` | back slash\n`\\]` | closing square bracket\n\n- A `^` must be escaped only if it occurs immediately after the opening `[` of the character set.\n- A `-` must be escaped only if it occurs between two alphabets or two digits.\n\n### Quantifiers\n\nExpression | Description\n:--|:--\n`{2}` | exactly 2\n`{2,}` | at least 2\n`{2,7}` | at least 2 but no more than 7\n`*` | 0 or more\n`+` | 1 or more\n`?` | exactly 0 or 1\n\n- The quantifier goes *after* the expression to be quantified.\n\n### Boundaries\n\nExpression | Description\n:--|:--\n`^` | start of string\n`$` | end of string\n`\\b` | word boundary\n\n- How word boundary matching works:\n    - At the beginning of the string if the first character is `\\w`.\n    - Between two adjacent characters within the string, if the first character is `\\w` and the second character is `\\W`.\n    - At the end of the string if the last character is `\\w`.\n\n### Matching\n\nExpression | Description\n:--|:--\n`foo\\|bar` | match either `foo` or `bar`\n`foo(?=bar)` | match `foo` if it’s before `bar`\n`foo(?!bar)` | match `foo` if it’s *not* before `bar`\n`(?<=bar)foo` | match `foo` if it’s after `bar`\n`(?<!bar)foo` | match `foo` if it’s *not* after `bar`\n\n### Grouping and capturing\n\nExpression | Description\n:--|:--\n`(foo)` | capturing group; match and capture `foo`\n`(?:foo)` | non-capturing group; match `foo` but *without* capturing `foo`\n`(foo)bar\\1` | `\\1` is a backreference to the 1st capturing group; match `foobarfoo`\n\n- Capturing groups are only relevant in the following methods:\n    - `string.match(regexp)`\n    - `string.matchAll(regexp)`\n    - `string.replace(regexp, callback)`\n- `\\N` is a backreference to the `Nth` capturing group. Capturing groups are numbered starting from 1.\n\n## References and tools\n\n- [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)\n- [RegExplained](https://leaverou.github.io/regexplained/)\n","isInternal":false,"tokens":1007,"sizeBytes":3321}],"systemPromptSnippet":"<yakaai_skills repo=\"CorentinTh/it-tools\">\n<!-- File: src/tools/git-memo/git-memo.content.md (Tokens: ~243 | Category: anthropic-skill) -->\n## Configuration\n\nSet the global config\n\n```shell\ngit config --global user.name \"[name]\"\ngit config --global user.email \"[email]\"\n```\n\n## Get started\n\nCreate a git repository\n\n```shell\ngit init\n```\n\nClone an existing git repository\n\n```shell\ngit clone [url]\n```\n\n## Commit\n\nCommit all tracked changes\n\n```shell\ngit commit -am \"[commit message]\"\n```\n\nAdd new modifications to the last commit\n\n```shell\ngit commit --amend --no-edit\n```\n\n## I’ve made a mistake\n\nChange last commit message\n\n```shell\ngit commit --amend\n```\n\nUndo most recent commit and keep changes\n\n```shell\ngit reset HEAD~1\n```\n\nUndo the `N` most recent commit and keep changes\n\n```shell\ngit reset HEAD~N\n```\n\nUndo most recent commit and get rid of changes\n\n```shell\ngit reset HEAD~1 --hard\n```\n\nReset branch to remote state\n\n```shell\ngit fetch origin\ngit reset --hard origin/[branch-name]\n```\n\n## Miscellaneous\n\nRenaming the local master branch to main\n\n```shell\ngit branch -m master main\n```\n\n<!-- File: src/tools/regex-memo/regex-memo.content.md (Tokens: ~1007 | Category: anthropic-skill) -->\n### Normal characters\n\nExpression | Description\n:--|:--\n`.` or `[^\\n\\r]` | any character *excluding* a newline or carriage return\n`[A-Za-z]` | alphabet\n`[a-z]` | lowercase alphabet\n`[A-Z]` | uppercase alphabet\n`\\d` or `[0-9]` | digit\n`\\D` or `[^0-9]` | non-digit\n`_` | underscore\n`\\w` or `[A-Za-z0-9_]` | alphabet, digit or underscore\n`\\W` or `[^A-Za-z0-9_]` | inverse of `\\w`\n`\\S` | inverse of `\\s`\n\n### Whitespace characters\n\nExpression | Description\n:--|:--\n` ` | space\n`\\t` | tab\n`\\n` | newline\n`\\r` | carriage return\n`\\s` | space, tab, newline or carriage return\n\n### Character set\n\nExpression | Description\n:--|:--\n`[xyz]` | either `x`, `y` or `z`\n`[^xyz]` | neither `x`, `y` nor `z`\n`[1-3]` | either `1`, `2` or `3`\n`[^1-3]` | neither `1`, `2` nor `3`\n\n- Think of a character set as an `OR` operation on the single characters that are enclosed between the square brackets.\n- Use `^` after the opening `[` to “negate” the character set.\n- Within a character set, `.` means a literal period.\n\n### Characters that require escaping\n\n#### Outside a character set\n\nExpression | Description\n:--|:--\n`\\.` | period\n`\\^` | caret\n`\\$` | dollar sign\n`\\|` | pipe\n`\\\\` | back slash\n`\\/` | forward slash\n`\\(` | opening bracket\n`\\)` | closing bracket\n`\\[` | opening square bracket\n`\\]` | closing square bracket\n`\\{` | opening curly bracket\n`\\}` | closing curly bracket\n\n#### Inside a character set\n\nExpression | Description\n:--|:--\n`\\\\` | back slash\n`\\]` | closing square bracket\n\n- A `^` must be escaped only if it occurs immediately after the opening `[` of the character set.\n- A `-` must be escaped only if it occurs between two alphabets or two digits.\n\n### Quantifiers\n\nExpression | Description\n:--|:--\n`{2}` | exactly 2\n`{2,}` | at least 2\n`{2,7}` | at least 2 but no more than 7\n`*` | 0 or more\n`+` | 1 or more\n`?` | exactly 0 or 1\n\n- The quantifier goes *after* the expression to be quantified.\n\n### Boundaries\n\nExpression | Description\n:--|:--\n`^` | start of string\n`$` | end of string\n`\\b` | word boundary\n\n- How word boundary matching works:\n    - At the beginning of the string if the first character is `\\w`.\n    - Between two adjacent characters within the string, if the first character is `\\w` and the second character is `\\W`.\n    - At the end of the string if the last character is `\\w`.\n\n### Matching\n\nExpression | Description\n:--|:--\n`foo\\|bar` | match either `foo` or `bar`\n`foo(?=bar)` | match `foo` if it’s before `bar`\n`foo(?!bar)` | match `foo` if it’s *not* before `bar`\n`(?<=bar)foo` | match `foo` if it’s after `bar`\n`(?<!bar)foo` | match `foo` if it’s *not* after `bar`\n\n### Grouping and capturing\n\nExpression | Description\n:--|:--\n`(foo)` | capturing group; match and capture `foo`\n`(?:foo)` | non-capturing group; match `foo` but *without* capturing `foo`\n`(foo)bar\\1` | `\\1` is a backreference to the 1st capturing group; match `foobarfoo`\n\n- Capturing groups are only relevant in the following methods:\n    - `string.match(regexp)`\n    - `string.matchAll(regexp)`\n    - `string.replace(regexp, callback)`\n- `\\N` is a backreference to the `Nth` capturing group. Capturing groups are numbered starting from 1.\n\n## References and tools\n\n- [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)\n- [RegExplained](https://leaverou.github.io/regexplained/)\n</yakaai_skills>"}