Install
$ agentstack add skill-pledgeandgrow-pledge-skills-flask ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Flask Skill
Flask is a lightweight WSGI web application framework for Python. It provides configuration and conventions with sensible defaults to get started quickly. This skill covers the Flask 3.1.x User Guide.
When to Use
- Building Python web applications with minimal boilerplate
- Creating REST APIs or JSON services
- Server-rendered HTML applications with Jinja2 templates
- Microservices and small-to-medium web projects
- Applications requiring async view support
Skill Files
quickstart.md— Minimal application, debug mode, HTML escaping, routing, variable rules, URL building, HTTP methods, static files, rendering templates, accessing request data (form, args, files, cookies), redirects, errors, responses, JSON APIs, sessions, message flashing, logging, WSGI middleware, extensionsinstallation.md— Python version, dependencies (Werkzeug, Jinja, MarkupSafe, ItsDangerous, Click, Blinker), optional dependencies, virtual environments, installing Flaskconfig.md— Configuration basics, debug mode, builtin configuration values, configuring from Python files, data files, environment variables, best practices, development/production configs, instance folderstemplates.md— Jinja setup, standard context (config, request, session, g, urlfor, getflashed_messages), controlling autoescaping, registering filters, context processors, streaming templatesblueprints.md— Why blueprints, concept, creating blueprints, registering, nesting, blueprint resources (resource folder, static files, templates), building URLs, blueprint error handlerstesting.md— Identifying tests, pytest fixtures, test client (requests, form data, JSON data), following redirects, accessing/modifying session, CLI runner, tests with active contextserror-handling.md— Error logging tools (Sentry), error handlers (registering, handling, generic handlers, unhandled exceptions), custom error pages, blueprint error handlers, returning API errors as JSON, custom exception classescontexts.md— Application context (purpose, lifetime, manual push, storing data with g, events/signals), request context (purpose, lifetime, manual push, how context works, callbacks and errors, teardown callbacks, signals, notes on proxies), application structure and lifecycle (setup, serving, middleware, request handling steps)signals.md— Core signals, subscribing to signals, creating signals with blinker Namespace, sending signals, signals and request context, decorator-based subscriptions with connect_viaclass-based-views.md— Basic reusable View, URL variables, view lifetime and self, initeveryrequest, view decorators, method hints, MethodView for APIs, REST API patterncli.md— Application discovery (--app), run dev server, debug mode, reloader options, shell, dotenv support (.env, .flaskenv), env vars from virtualenv, custom commands, blueprint commands, application context, plugins, custom scripts, PyCharm integrationsecurity.md— Resource use (DoS prevention), XSS prevention, CSRF, JSON security, security headers (HSTS, CSP, X-Content-Type-Options, X-Frame-Options), Set-Cookie options (Secure, HttpOnly, SameSite), host header validation, copy/paste to terminalasync.md— async/await performance characteristics, background tasks limitations, when to use Quart instead, extension async support with ensure_sync, other event loopsdebugging-logging.md— In production debugging, built-in Werkzeug debugger, external debuggers, logging basic configuration, default handler, removing default handler, emailing errors to admins, injecting request info into logs, other librariestutorial.md— Flask tutorial (Flaskr blog app): project layout, application factory, SQLite database, authentication blueprint (register, login, logout, login_required), templates (base layout, inheritance), static files, blog blueprint (index, create, update, delete), making project installable (pyproject.toml), test coverage (pytest fixtures, auth actions, parameterized tests, coverage), deploying to production (build wheel, Waitress)extensions.md— Finding extensions on PyPI, naming conventions (Flask-Foo), deferred initialization pattern (init_app), common extensions (Flask-SQLAlchemy, Flask-Login, Flask-WTF, Flask-Mail, Flask-Caching), building custom extensionsdevelopment-server.md— Command line (flask run, --app, --debug), address already in use (OSError, port conflicts, macOS AirPlay), deferred errors on reload, in code (app.run, main block)shell.md— Flask shell command (automatic app context), creating request context (testrequestcontext, push/pop), firing before/after request (preprocessrequest, processresponse, teardown_request), improving shell experience (shelltools module)patterns.md— Large applications as packages, application factories, application dispatching (DispatcherMiddleware, subdomain, path), URL processors (internationalized URLs, blueprint URL processors), SQLite 3 (connect on demand, easy querying, initial schemas), SQLAlchemy (Flask-SQLAlchemy, declarative, manual ORM, SQL abstraction), file uploads (securefilename, MAXCONTENTLENGTH), caching (Flask-Caching), view decorators (loginrequired, cached, templated, endpoint), WTForms (forms, views, templates), template inheritance (base/child), message flashing (simple, categories, filtering), JavaScript/fetch/JSON (tojson, generating URLs, fetch requests, redirects, returning/receiving JSON), lazy loading views (LazyView), MongoDB with MongoEngine, favicon, streaming contents (basic, templates, streamwithcontext), deferred request callbacks, HTTP method overrides, request content checksums, Celery background tasks (integration, factory, shared_task, calling, results, passing data), subclassing Flask, single-page applicationsdeploying.md— Self-hosted WSGI servers (Gunicorn, Waitress, mod_wsgi, uWSGI, gevent, ASGI), reverse proxies (ProxyFix, nginx, Apache httpd), hosting platforms (PythonAnywhere, Google App Engine, Google Cloud Run, AWS Elastic Beanstalk, Microsoft Azure)gevent.md— Enabling gevent (monkey.patchall, production deployment with Gunicorn/uWSGI), concurrent tasks (gevent.spawn, context access with streamwithcontext/copycurrentrequestcontext), combining with async/await (overriding asynctosync, asyncio event loop in gevent), libuv support (gevent.config.loop)
Key Concepts
- WSGI: Flask is a WSGI application; the Flask object is the WSGI callable
- Routing: URL rules via
@app.route(), variable rules with converters, URL building withurl_for() - Request/Response:
requestglobal proxy for request data; return values auto-converted to response objects - Templates: Jinja2 integration with autoescaping, context processors, filters
- Blueprints: Modular application components with their own routes, templates, static files
- Contexts: Application context (
current_app,g) and request context (request,session) as context locals - Configuration: Dict-based config with multiple loading strategies (files, env vars, objects)
- Testing: Test client for requests without running a server, CLI runner for commands
- Signals: Blinker-based event system for decoupled notifications
- CLI: Click-based
flaskcommand with custom commands, dotenv support
Common Patterns
from flask import Flask, render_template, request, redirect, url_for, session, flash
app = Flask(__name__)
app.secret_key = b'your-secret-key'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/user/')
def profile(username):
return f'User: {username}'
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
session['username'] = request.form['username']
flash('Logged in successfully')
return redirect(url_for('index'))
return render_template('login.html')
Version
Flask 3.1.x — requires Python 3.9+
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pledgeandgrow
- Source: pledgeandgrow/pledge-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.