agent-routing
Decide which model, effort level, and cascade shape each subagent gets, and how to keep improvement loops safe…
Creates browser-executable JavaScript bookmarklets with strict formatting requirements. Use when users mention bookmarklets, browser utilities, dragging code to bookmarks bar, or need JavaScript that runs when clicked in the browser toolbar.
$ npx -y skills add oaustegard/claude-skills --skill creating-bookmarklets --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/creating-bookmarkletsContext preview
The summary Claude sees to decide when to auto-load this skill.
Creates browser-executable JavaScript bookmarklets with strict formatting requirements. Use when users mention bookmarklets, browser utilities, dragging code to bookmarks bar, or need JavaScript that runs when clicked in the browser toolbar.
name: creating-bookmarklets description: Creates browser-executable JavaScript bookmarklets with strict formatting requirements. Use when users mention bookmarklets, browser utilities, dragging code to bookmarks bar, or need JavaScript that runs when clicked in the browser toolbar. metadata: version: 1.0.3
**Use ONLY `/* */` comments. NEVER use `//` comments.**
Bookmark execution contexts fail with `//` style. Every comment must use block format.
/* ✓ Correct */ const x = 5; /* inline */ /* ✗ Wrong - breaks bookmarklets */ // const x = 5; const y = 10; // inline
All bookmarklets must wrap in IIFE:
(function() {
/* bookmarklet code */
})();All delivered bookmarklets must begin with `javascript:` protocol:
javascript:(function() {
/* bookmarklet code */
})();This makes the code immediately usable without requiring manual modification during installation.
Create readable source with:
**This version with `javascript:` prefix gets stored in GitHub and shown to users, making it ready for installation without manual modification.**
**Default approach - reference installer:**
Install: https://austegard.com/web-utilities/bookmarklet-installer.html
Installer handles:
**Alternative - generate link programmatically:** Use Terser.js to create installable link if requested:
async function createBookmarkletLink(code, title) {
const minified = await Terser.minify(code);
const encoded = encodeURIComponent(minified.code).replace(/'/g, "%27");
return `<a href="javascript:${encoded}">${title}</a>`;
}Requires: `<script src="https://cdn.jsdelivr.net/npm/terser/dist/bundle.min.js"></script>`
Always provide: 1. Pretty-printed source code **with `javascript:` protocol prepended** 2. Installation method (installer link or generated link) 3. Brief description of functionality 4. Usage instructions
The code should be delivered in a format ready for direct use - users should be able to copy the entire code block (including `javascript:`) without modification.
(function() {
try {
/* main logic */
} catch (error) {
console.error('Bookmarklet error:', error);
alert('Operation failed: ' + error.message);
}
})();Include debug traces by default:
console.log('Bookmarklet: Starting');
/* operations */
console.log('Bookmarklet: Complete');/* Success */
alert('✓ Content copied to clipboard');
/* Error */
alert('✗ Failed to access clipboard');(function() {
const element = document.querySelector('.target');
if (!element) {
alert('Element not found');
return;
}
/* manipulate element */
})();(function() {
const data = Array.from(document.querySelectorAll('.item'))
.map(item => ({
title: item.querySelector('.title')?.textContent.trim(),
value: item.querySelector('.value')?.textContent.trim()
}));
console.log('Extracted:', data);
})();(function() {
const text = 'content to copy';
navigator.clipboard.writeText(text)
.then(() => alert('✓ Copied'))
.catch(err => {
console.error('Clipboard error:', err);
alert('✗ Copy failed');
});
})();(function() {
if (typeof someLibrary === 'undefined') {
const script = document.createElement('script');
script.src = 'https://cdn.example.com/library.js';
script.onload = function() {
/* proceed with logic */
};
document.head.appendChild(script);
}
})();Provide fallbacks for unsupported features:
if (!navigator.clipboard) {
alert('Clipboard API not supported');
return;
}**Cannot use:**
**Can use:**
Before delivering: 1. Verify no `//` comments exist 2. Test in browser console wrapped in IIFE 3. Check error handling with missing DOM elements 4. Verify user feedback for all paths
javascript:(function() {
/* Pretty-printed bookmarklet code */
})();
Install: https://austegard.com/web-utilities/bookmarklet-installer.html
Extracts all links from current page and copies to clipboard as markdown list. Works on any webpage.User repository: https://github.com/oaustegard/bookmarklets
Pretty-printed format matches storage requirements. Installer loads directly from this repo.
A collection of Claude skills distributed as a Claude Code plugin marketplace. Skills are primarily designed for the Claude.ai PaaS skill compute environment; mileage will vary if used as Claude Code Agent Skills.
Decide which model, effort level, and cascade shape each subagent gets, and how to keep improvement loops safe…
Cross-context adversarial review for deliverables before shipping. Use when producing blog posts, technical recommendations,…
Convenes expert panels for problem-solving. Use when user mentions panel, experts, multiple perspectives, MECE, DMAIC, RAPID, Six…
Routes, triages, flags and rates a piece of text with a probability for every option: which department or queue a ticket goes to,…
Delegates work to a subagent or spawned session by writing only the task, while a PreToolUse hook pages the parent transcript…
Chooses how to launch subagents from Claude Code (the Agent tool, a Workflow script, or headless claude -p children) and runs a…